The present invention relates to a computer system having a graphical user interface and more particularly to a graphical user interface which supports entry of time values using a graphical representation of an analog clock face.
Computer systems commonly employ time-of-day clock values (time values) for a number of different purposes. As just two examples, time values may be used to control system operations such as automated backups or for calendaring functions, such as scheduling user appointments or setting the start and stop times of meetings. In most cases, the user is required to enter the appropriate time values.
In character-based (non-graphic) systems, a user can type in a time command, which may generate a prompt directing the user to type in the appropriate time value. This technique has a couple of disadvantages. For one thing, it requires that the user can remember the syntax and semantics of the time command and the format to be used for entering the values. For another thing, it places a premium on the user""s typing ability.
Graphical user interfaces have been developed to make it easier for users to perform many computer functions, including the entry of time values. A number of different techniques have been developed for allowing the user to enter digitally-represented time values through graphical user interfaces. According to one straightforward approach, a user initiates a time setting sequence by selecting a date/time icon in the graphical user interface. The system responds to the icon selection by displaying time and date fields which the user can fill in or complete by keying in appropriate time and/or date information. While this approach is a slight improvement over the character-based approach described above, it still requires that the user know the format in which data must be entered and it still places a premium on the user""s typing ability.
According to another approach, the system may respond to selection of a date/time icon by generating a display of a digital clock face with hour, minute, second and AM/PM fields. The user then enters the time value by using a mouse to select the appropriate field before keying in the desired data. When the term xe2x80x9cmousexe2x80x9d is used in the following description, it should be construed as referring to any instrumentality capable of controlling the screen position of a cursor and performing select operations. Examples of some, but not all, of the currently available instrumentalities with this capability include roller-ball mouses, optical mouses, trackballs, Trackpoint controllers, joysticks, touch-sensitive pads and even programmed keyboards.
Still another approach uses a visual digital scale that shows at least part of a 24-hour time cycle. A user can select a time value on the scale by using a mouse to select and move the image of a slider into alignment with the desired time value. Where this technique is used in a calendaring application, two sliders may appear on the same digital scale. The first slider is used to select the start time for a meeting or other appointment while the second slider is used to select the stop time. Some users find it difficult to align a slider with a desired time value without overshooting the desired value one or more times before the image of the slider comes to rest in the right spot. Moreover, where the two sliders are on the same digital scale, their images visually xe2x80x9ccollidexe2x80x9d when the user tries to set up a brief meeting by moving the second slider close to the first one. A user may be forced to key in a stop and/or start times for a brief meeting because of this image xe2x80x9ccollisionxe2x80x9d problem.
Still another approach uses digital representations of time values appearing in fields flanked by xe2x80x9cspin buttonsxe2x80x9d or up/down arrows. When the user initiates the time setting operation, the user may alter the time shown in the time field by selecting and xe2x80x9cholding downxe2x80x9d either the up or the down spin button. If the time field changes rapidly when the user holds down a spin button, the user may repeatedly overshoot the desired value while he xe2x80x9chuntsxe2x80x9d down the desired value. If the time field is made to change slowly to prevent overshooting, the user may become frustrated waiting by the apparent delays in system response.
What all of the graphical techniques described above have in common, other than the indicated usability drawbacks, is that all represent time values that are represented digitally; that is, in numeric form. A significant number of users are more comfortable visualizing time values in an analog form, such as on a circular clock face with an hour hand, a minute hand and (usually) hour-indicating indicia or numbers.
A number of techniques have been developed for users who are more comfortable operating in what could be called an analog time domain. One of these techniques uses a round clock face with hour and minute hands and hour-indicating indicia. An annular region is defined as surrounding a circular area which is centered on but does not occupy all of the clock face. To set an hour value, the user employs a mouse to move a cursor to the desired hour-hand position within the circular area. The hour value is fixed when the user clicks and releases a mouse button. Similarly, the minute value is set by moving the cursor to the desired position in the surrounding annular region. Again, the minute value is fixed by clicking a mouse button. While this approach is much simpler than most of the digital approaches previously described, it nevertheless still requires two point-and-click operations, one for setting the hour and the other for setting the minute.
Still another approach, developed primarily for pen-based systems, requires analysis of the movement of a stylus across a touch-sensitive screen showing a round analog clock face. The stroke analysis determines whether the hour hand or the minute hand is to be set and the value to which the hand is to be set. This approach is somewhat more difficult to implement than the previously described approaches because of the requirement for stroke analysis. It also requires that a user learn the types of strokes which can be used.
According to another approach using an analog clock face, a user may use a left mouse button to set the desired position of the hour hand and the right mouse button to set the desired position of the minute hand. Since selecting an object in the graphical user interface with a right mouse button ordinarily activates a pulldown menu, the potential exists for a software conflict
Finally, according to a last approach, the user selects a desired hour value simply by moving a cursor onto the clock face at the desired hour position. Minute values can be changed by repeatedly clicking the mouse button while the cursor remains positioned over the clock face. According to one embodiment of the invention, the minute value changes in five minute steps every time the mouse button is pressed and released. The steps can be changed from five minutes to one minute by holding down a Control key while clicking the mouse button.
The present invention is an extremely simple method for entering hour and minute time values in a single click operation.
An analog clock face with an hour hand, a minute hand and possibly hour-indicating indicia is shown on the display screen. A time setting zone is defined which is centered on the clock face and divided into a number of sectors equal to the number of hours represented on the clock face. If the clock is a conventional 12 hour clock, twelve sectors are defined. To set the desired hour and minute values, the user employs a mouse to move a cursor into one of the twelve sectors. The hour value is set to a value associated with the sector in which the cursor is located when a cursor select operation is performed. The minute value is set as a function of the location of the cursor within the sector when the cursor select operation is performed.